The processing of video signals in television receivers, video cassette recorders (VCRs), set-top boxes and the like, have recently become increasingly complex. Part of the reason for this is that more extraneous information, apart from that provided in the standard composite video signal, is being incorporated into the standard video signal. Such extraneous information include close-caption information, V-chip information, other XDS information and StarSight information. As more information is incorporated into the standard video signal, the more complex the video signal processing becomes.
Generally, the trend in video signal processing in television receivers, VCRs, set-top boxes and the like, is to implement it using digital signal processing technology. Digital signal processing provides advantages over analog signal processing in that digital signals are less susceptible to noise, interference and degradation; digital signal processing circuits are generally easier to implement in integrated circuit form, which results in ease and time savings in manufacturing; and digital signals are more amenable to control by way of microprocessors and computers. However, as noted above, since video signal processing is getting more complex, more demand for performance is placed on digital signal processing circuits.
The primary component of a digital signal processing circuit is the microprocessor or central processing unit (CPU). The CPU in a television receiver has to perform numerous functions in order to process the incoming television signal, including the extraneous information riding on the composite video signal, so that proper video images are displayed on the television's cathode ray tube (CRT) and audio sounds are produced. Such functions, to name a few, include video and audio signal processing, sync signal processing, analog-to-digital and vice-versa conversions, CRT control, vertical blanking interface (VBI) data decoding, infrared (I.R.) remote capturing, and program and character generations. Because the CPU in these video processing units has to perform numerous functions, lots of demand is placed on the CPU for performance, especially for speed.
Generally, the use of a general purpose microprocessor serving as the CPU for such video processing units is not desired. General purpose micro-processors tend to have relatively slow data throughput. In other words, they generally require multiple clock cycles for executing instructions and transferring data. Accordingly, because of the speed performance requirement for video signal processing, general purpose micro-processors usually do not meet such performance demand.
Rather, what is preferably employed in video processing units are specialized micro-processors which are specifically designed to process video signals efficiently and with relatively fast data throughput. One specialized microprocessor, for example, is incorporated in the Z89300 television micro-controller manufactured by the assignee of this invention, Zilog Inc. The Z89300 controller microprocessor is a high performance 16-bit RISC processor optimized for data processing and transfer. This microprocessor is typically around 10 faster than general purpose microprocessor in data processing and transfer. It generally requires only one (1) clock cycle for executing instructions and transferring data, for example, between random access memory (RAM) and read only memory (ROM). Thus, this microprocessor is ideal for video signal processing, among other high-speed applications.
The Z89300 controller microprocessor, however, only provides three bits for accessing input/output (I/O) ports for communicating with external devices. The 3-bit I/O resolution provides for eight (8) I/O ports direct access. The microprocessor also has two (2) bit control output which can be combined with the 3-bit for accessing up to 32 I/O ports. Although for many applications this may be more than enough for accessing external devices, there may be specific applications where more than 32 external devices are required to communicate with the microprocessor. Such specific applications may include, for example, television video and audio signal processing. Because of the increasing complexity of television receivers, more external devices require communication with such receivers' microprocessor. These devices can include, among others, units for image attribute control, such as brightness, contrast, saturation and hue; interface buses, such as I.sup.2 C bus, RS232 parallel bus and serial bus; I.R. data and control unit, clock speed control unit, on screen display unit and close-caption unit. Such devices can easily grow to over 32 devices and exceed the microprocessor's I/O access capability.
The prior art's approach for providing more access to I/O ports than the microprocessor provides is to allocate a portion of the microprocessor's RAM memory for performing I/O accessing. More specifically, the microprocessor is programmed to map calls to those I/O ports that exceed the microprocessor's I/O access capability to certain address space in the processor's RAM memory. This approach, however, has the drawback of giving up available RAM memory space for I/O accessing; an undesired approach if RAM memory space is scarce. The lack of memory space is now more prolific since more software applications require more RAM memory space for performing their tasks.
Hence, there is a need for an apparatus and method for providing I/O access for I/O ports that exceed the microprocessor's access capability without taking up memory space from RAM memory. There is also a need for a technique and apparatus for accessing I/O ports that exceed the microprocessor access capability without causing the processor to execute complicated routines and where the access time is relatively short for speed purposes; this would be especially advantageous for video signal processing.